#ifndef CONST_H
#define CONST_H

/* ************************************************** *
 * Definicion de constantes para los mensajes entre   *
 *                cliente y servidor.                 *
 * ***************************************************/

// (cli->srv)
#define LOGINREQUEST "LOGIN"
#define GETFILELIST "GET-FILE-LIST"
#define GETFILE "GET-FILE"
#define	UPLOADFILE "UPLOAD"
#define TRYUPDATEUP "TRY-UPDATE-UP"
#define TRYUPDATEDOWN "TRY-UPDATE-DOWN"
#define	UPDATEFILE "UPDATE"
#define UPDATERECEPTOR "UPDATERECEPTOR"
#define UPDATERECEPTOR2 "UPDATERECEPTOR2"
#define UPDATEEMISOR "UPDATEEMISOR"
#define UPDATEOK "UPDATEOK"
#define	ERASEFILE "ERASE"
#define LOGOUT "LOGOUT"


// (srv->cli)
#define LOGINOK "OK"
#define LOGINFAIL "FAIL"
#define FILELIST "FILE-LIST"
#define NOTIFY "NOTIFY"
#define EMISORDELTA "EMISORDELTA"
#define RECEPTORDELTA "RECEPTORDELTA"
#define DELTA "DELTA"

// Tipos de notificacion

#define ERASED "ERASED"
#define NEW "NEW"
#define UPDATED "UPDATED"
#define NONOTIFICATIONS "NONOTIF"


// Definicion de constantes locales del servidor.
extern const char * USRDIR;
#define USRFILES "/.metadata.dat"
#define USRFILESAUX "/.metadataAux.dat"
#define SINRESPUESTA "SINRESP"
#define NOOLDHASH "NO-OLD-HASH"

// Modos para abrir un archivo de StreamBloqueante.
#define READ std::ios::in
#define WRITE std::ios::out
#define APPEND std::ios::out | std::ios::app


// ******************* Rutas default de archivos del servidor *****************
// ubicacion del archivo properties del servidor
#define PROPERTIES ".properties.dat"
// donde se guardan todos los  < usuario = password >
#define USERS ".users.dat"
//*****************************************************************************

// ******************* Rutas default de archivos del cliente *****************
// ubicacion del archivo de configuracion del cliente
#define CLIENTE ".client.dat"
//*****************************************************************************

// ******************* Const comunes *****************
#define PORT    "Puerto"
//****************************************************

// ******************* Const cliente *****************
#define USER    "Usuario"
#define PASS    "Password"
#define IP      "IP"
#define INTPOLL "IntervaloPolling"
#define DIRSINC "DirectorioAsincronizar"
//****************************************************

// ******************* Const server ******************
#define PATH "Path"
#define IPEsp "127.0.0.1"
#define PuertoEsp 10000
#define OK "ok"
#define FIN "fin"
//****************************************************
#endif
